翻訳と辞書
Words near each other
・ Bronzy hermit
・ Bronzy inca
・ Bronzy jacamar
・ Bronzy sunbird
・ Bronágh Taggart
・ Bronów
・ Bronów, Greater Poland Voivodeship
・ Bronów, Góra County
・ Bronów, Opoczno County
・ Bronów, Poddębice County
・ Bronów, Silesian Voivodeship
・ Bronów, Świdnica County
・ Bronów, Świętokrzyskie Voivodeship
・ Bronówek, Łódź Voivodeship
・ Bronówko
Bron–Kerbosch algorithm
・ Broo
・ Broo Brewery
・ Brooch
・ Brooch of Lorn
・ Broock
・ Brood
・ Brood (album)
・ Brood (comics)
・ Brood (honey bee)
・ Brood comb
・ Brood II
・ Brood of the Witch-Queen
・ Brood parasite
・ Brood patch


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Bron–Kerbosch algorithm : ウィキペディア英語版
Bron–Kerbosch algorithm
In computer science, the Bron–Kerbosch algorithm is an algorithm for finding maximal cliques in an undirected graph. That is, it lists all subsets of vertices with the two properties that each pair of vertices in one of the listed subsets is connected by an edge, and no listed subset can have any additional vertices added to it while preserving its complete connectivity. The Bron–Kerbosch algorithm was designed by Dutch scientists Joep Kerbosch and Coenraad Bron, who published its description in 1973. Although other algorithms for solving the clique problem have running times that are, in theory, better on inputs that have few maximal independent sets, the Bron–Kerbosch algorithm and subsequent improvements to it are frequently reported as being more efficient in practice than the alternatives.〔.〕 It is well-known and widely used in application areas of graph algorithms such as computational chemistry.〔.〕
A contemporaneous algorithm of , although presented in different terms, can be viewed as being the same as the Bron–Kerbosch algorithm, as it generates the same recursive search tree.〔.〕
==Without pivoting==
The basic form of the Bron–Kerbosch algorithm is a recursive backtracking algorithm that searches for all maximal cliques in a given graph ''G''. More generally, given three sets ''R'', ''P'', and ''X'', it finds the maximal cliques that include all of the vertices in ''R'', some of the vertices in ''P'', and none of the vertices in ''X''. In each call to the algorithm, ''P'' and ''X'' are disjoint sets whose union consists of those vertices that form cliques when added to ''R''. In other words, ''P'' ∪ ''X'' is the set of vertices which are joined to every element of ''R''. When ''P'' and ''X'' are both empty there are no further elements that can be added to ''R'', so R is a maximal clique and the algorithm outputs R.
The recursion is initiated by setting ''R'' and ''X'' to be the empty set and ''P'' to be the vertex set of the graph. Within each recursive call, the algorithm considers the vertices in ''P'' in turn; if there are no such vertices, it either reports ''R'' as a maximal clique (if ''X'' is empty), or backtracks. For each vertex ''v'' chosen from ''P'', it makes a recursive call in which ''v'' is added to ''R'' and in which ''P'' and ''X'' are restricted to the neighbor set ''N(v)'' of ''v'', which finds and reports all clique extensions of ''R'' that contain ''v''. Then, it moves ''v'' from ''P'' to ''X'' to exclude it from consideration in future cliques and continues with the next vertex in ''P''.
That is, in pseudocode, the algorithm performs the following steps:
BronKerbosch1(R, P, X):
if P and X are both empty:
report R as a maximal clique
for each vertex v in P:
BronKerbosch1(R ⋃ , P ⋂ N(v), X ⋂ N(v))
P := P \
X := X ⋃

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Bron–Kerbosch algorithm」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.